In a typical telephone network a hybrid converter is provided to connect the unidirectional four wire link from the public switched telephone network (PSTN) to the local two wire loop. The basic function of the hybrid converter is to separate the transmitted signal originating in the local loop from the received signal in the PSTN section, and vice versa. This process requires the energy of the received signal to pass fully in the local loop. However, due to an impedance mismatch in the hybrid converter, part of the received energy is reflected back to the transmitting port. As a result, a talker hears his own delayed speech which, of course, is undesirable. This kind of echo generated by interactions occurring in the communication network is called an electrical echo.
Another phenomenon that generates echo is from a hands-free telephone terminal. The speech signal generated from the speaker in the terminal will propagate in the form of an acoustic wave through an acoustic environment and part of it will be captured back by the microphone of the terminal. This residue signal will be transmitted back to the talker and creates echo. This kind of echo is referred to as acoustic echo.
To avoid echo problem suppressors are used in the communication networks. A typical echo suppressor is a switch that monitors the voice signals travelling in both directions. The suppressor detects which person is talking and blocks the signal travelling in the opposite direction. In essence, the echo suppressor transforms the communication link into an unidirectional path allowing only one person to speak at the time. The drawback of such echo suppressors is that they tend to "chop" speech signals when the subscribers talk back and forth quickly. This is because the suppressor is not able to switch direction fast enough. Moreover, during double talk, i.e., when the subscribers talk simultaneously, the suppressor fails to control the echo.
One possibility to avoid the problems of echo suppressors is to provide circuitry that instead of blocking speech signals in one direction in the communication link cancels the echo by using an adaptive filter. In essence, the echo canceller synthesizes the echo which is then subtracted from the composite signal (speech signal+echo signal). If the echo canceller models the true echo path well, the resultant signal is substantially free from any echo corruption.
To make the echo cancellation concept useful, the distinctive characteristics of the echo signal must be measured and stored in the echo canceller for operation. A direct measure beforehand is not practical because first of all, the echo is dependent on the circuit connections in the electrical echo case and on the acoustic environment in the acoustic echo case. This makes the measurement extremely difficult if not impossible. Secondly, the echo may be varying due to dynamic link connections or an unstable acoustic environment. As mentioned before one way to overcome this difficulty is to use an adaptive filter to gradually identify the characteristics of the echo in order to perform cancellation. Although an adaptive echo canceller can model the echo signal without requiring any prior knowledge of its characteristics, it has a finite learning time to reach a final solution. The convergence speed is a measure of how fast an adaptive filter reaches an acceptable error level. As a consequence, the echo will be present at the beginning of a call because at that moment the adaptive filter is beginning the learning process and the magnitude of the error signal is most likely not to be optimum yet. In addition, the user will hear a short period of electrical echo when the call is switched to a new link. In the case of an acoustic echo the echo characteristics are changing from time to time. Effective echo cancellation in these situations requires a fast convergence rate.
The convergence speed of a typical adaptive filter is such that effective echo cancellation will occur a few seconds after the learning process has been initiated. Therefore, at the beginning of a call there is a period of time during which the subscriber will hear at least some echo. This problem is particularly annoying in cellular telephony applications where the subscriber moves from one reception cell to the other. At the entry in a given reception cell the learning process of the echo canceller must be repeated which involves the short but objectionable period of echo presence.
The generation of a linear echo can be modelled as follows: ##EQU1## Where Y(k) is the kth output sample of the echo signal
are the parameters that characterize the echo path PA1 .omega.(k) is random noise or modelling error PA1 x(k) is the kth input sample of the source signal PA1 N-1 is the order of the model PA1 h.sub.i =h.sub.i 0.ltoreq.i.ltoreq.N-1 PA1 first means for generating an echo estimate, said first means including a first input for receiving a first signal that is a precursor of the echo in the return channel of the communication system and a second input for receiving a second signal related to said first signal and being more decorrelated than said first signal; and PA1 second means in operative relationship with said first means, said second means being responsive to said echo estimate for conditioning a signal propagating on the return channel of the communication system to inhibit echo therein. PA1 voice decoder for receiving coefficients data and excitation information to re-construct a speech signal; PA1 a return channel in which an echo is susceptible to occur; PA1 an echo canceller for reducing a magnitude of the echo in said return channel, said echo canceller comprising; PA1 a voice decoder for generating a re-constructed speech signal; PA1 means for generating an estimate of an echo of said re-constructed speech signal, comprising: PA1 first means for generating an echo estimate, said first means including an input for receiving a first signal that is a precursor of the echo in the return channel of the communication system; PA1 second means in operative relationship with said first means, said second means being responsive to said echo estimate for conditioning a signal propagating on the return channel of the communication system to inhibit echo therein, said method comprising the steps of: PA1 providing to said first means a second signal derivable from said first signal, said second signal being more decorrelated than said first signal, said first and second signals influencing said first means in the generation of said echo estimate, the presence of said second signal allowing said echo canceller to converge at a higher rate. PA1 a) generating an echo estimate, comprising the steps of: PA1 b) subtracting from a signal propagating through said return channel said echo estimate. PA1 a filtering stage including a predetermined number of tap coefficients that determine the transfer function of the filter, said filtering stage including an input for receiving a first signal to be conditioned by said filtering stage; PA1 a processing stage to compute said tap coefficients, said processing stage including: PA1 an input for receiving a second signal that is a component of said first signal, said second signal being more decorrelated than said first signal; and PA1 an input for receiving an error signal representative of a difference between an actual output of said filtering stage and a desired output, whereby said processing stage determines at least partially on the basis of said second signal and said error signal said tap coefficients.
Echo cancellation can be effected by using an adaptive filter which estimates Y(k) by the filter output A(k) to nullify the speech signal that constitutes the echo. The output of the adaptive filter is expressed by the following equation: ##EQU2##
The echo tends towards nullity when the error e(k) ##EQU3## between the two quantities is minimized:
The filter coefficients are adjusted to minimize the output mean-squared error (MSE) Ee.sup.2 (k)!: ##EQU4##
After some learning period the adaptive filter will converge to
In order to reach the solution, one has to find a procedure to guide the adaptive filter to reach the minimum error. This is referred as adaptive algorithm. There are two well known adaptation algorithms: the least-mean-square and the recursive least squares. The former is popular for its simplicity of implementation, while the latter has a much faster learning speed. These algorithms are well known in the digital telephony art and there is no need to describe them in detail.
The least-mean-square algorithm converges fastest when the input is white. One can therefore enhance the convergence speed by pre-whitening the input to the echo canceller. This is accomplished by placing a whitening filter before the canceller. However, a fixed whitening filter can improve convergence speed only in the statistical sense. That is, it enhances the speed when the input matches the correlation function used in designing the filter. A mismatch, on the other hand, will slowdown the convergence rate. A better approach is to make the whitening filter changeable by using a certain adaptive algorithm. Such an adaptive whitening filter, however, is ineffective, difficult and expensive to implement and for that reason it does not represent an optimal solution.